package com.oyesgo.statistics.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 * @FileName DateFormat.java
 * @Description: 格式化日期
 * @author rose
 * @version 1.0
 * <p>Company: OYESGO</p>
 * <p>Copyright: Copyright (c) 2010</p>
 */
public class DateFormat {
	/**
	 * 按照英文时间格式得到日期
	 * @param dateString
	 * @return
	 * @return Date
	 * @author rose
	 */
	public static Date getDateByFormat(String dateString){
		Date date = null;
		if(dateString == null || "".equals(dateString)) date = new Date();
		SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM/yyyy:hh:mm:ss", Locale.ENGLISH);
		try {
			date = formatter.parse(dateString);
		} catch (ParseException e) {
			date = new Date();
			e.printStackTrace();
		}
		return date;
	}
	/**
	 * 传入日期类型字符串 返回格式化好的时间显示
	 * @param time
	 * @return String
	 * @author rose
	 */
	public static String getRunTimeInfo(long time){
		StringBuffer resultSb= new StringBuffer();
		//先算秒
		long milliSecondShow = time%1000;//毫秒余数 表示没有一秒的毫秒 用于显示
		long second = time/1000; //当前多少秒
		long secondShow = second%60; //秒余数 表示没有一分钟的秒 用于显示
		long minute = second/60;//当前多少分
		long minuteShow = minute%60;//分钟小于一个小时以内的 用于显示
		long hour = minute/60;	//当前多少小时
		long hourShow = hour%24; //当前多少小时 当小于一天的小时数 用于显示
		long day = hour/24;	//当前多少天
		if(day != 0)  resultSb.append(day+"天");
		if(hour != 0) resultSb.append(hourShow+"小时");
		if(minute != 0) resultSb.append(minuteShow+"分钟");
		if(second != 0) resultSb.append(secondShow+"秒");
		if(milliSecondShow != 0) resultSb.append(milliSecondShow + "毫秒");
		return resultSb.toString();
	}
	public static void main(String[] args) {
		getRunTimeInfo(123+1000*60 + 2000);
	}
}
